package com.dingding.service.account.core.tailwind.service;

import com.dingding.common.core.base.dto.ResponseEntity;
import com.dingding.facade.account.common.dto.tailwind.ReqAddDepositAccount;
import com.dingding.facade.account.common.dto.tailwind.ReqDeleteDepositAccount;
import com.dingding.facade.account.common.dto.tailwind.ReqGetDepositAccount;
import com.dingding.facade.account.common.dto.tailwind.ReqUAStatus;
import com.dingding.facade.account.common.dto.tailwind.ReqWithdrawals;

/**
 * 
 * @ClassName: IDepositAccountService 
 * @Description: 提现账户业务逻辑接口类
 * @author YHQ
 * @date 2016年12月21日 下午3:55:10
 * @since V2.6.3
 * 
 */
public interface IDepositAccountService {

	/**
	 * 
	 * @Title: getUserAuthenticationStatus 
	 * @Description: 获取顺风车用户提现认证状态 
	 * @param reqUAStatus 客户端请求参数
	 * @author YHQ 
	 * @since V2.5.8
	 * @return ResponseEntity<Object> 获取顺风车用户提现认证状态响应Bean
	 * 
	 */
	public ResponseEntity<Object> getUserAuthenticationStatus(ReqUAStatus reqUAStatus);
	
	/**
	 * 
	 * @Title: addDepositAccount 
	 * @Description: 根据用户id添加用户提现账户
	 * @param reqAddDepositAccount 客户端请求参数
	 * @author YHQ 
	 * @since V2.5.8
	 * @return ResponseEntity<Object>    返回类型
	 * 
	 */
	public ResponseEntity<Object> addDepositAccount(ReqAddDepositAccount reqAddDepositAccount);
	
	/**
	 * 
	 * @Title: deleteDepositAccount 
	 * @Description: 根据用户id删除提现账户
	 * @param @return    设定文件 
	 * @author YHQ 
	 * @since V2.5.8 
	 * @return ResponseEntity<Object>    返回类型
	 * 
	 */
	public ResponseEntity<Object> deleteDepositAccount(ReqDeleteDepositAccount reqDeleteDepositAccount);
	
	/**
	 * 
	 * @Title: getDepositAccountList 
	 * @Description: 根据用户id获取提现账户列表
	 * @param @return    设定文件 
	 * @author YHQ 
	 * @since V2.5.8
	 * @return ResponseEntity<Object>    返回类型
	 * 
	 */
	public ResponseEntity<Object> getDepositAccountList(ReqGetDepositAccount reqGetDepositAccount);
	
	/**
	 * 
	 * @Title: withdrawals 
	 * @Description: 用户提现(乘客端)
	 * @param reqWithdrawals 用户提现(乘客端)客户端请求Bean
	 * @author YHQ 
	 * @since V2.6.3
	 * @return ResponseEntity<Object>    返回类型
	 * 
	 */
	public ResponseEntity<Object> withdrawals(ReqWithdrawals reqWithdrawals);
	
}
